<?php

// FONCTIONS DE CONNEXION

function connect()
{
	$hote="localhost";
	$login="stssio";
	$mdp="stssio";
	return mysql_connect($hote, $login, $mdp);
}

function selectBase($connexion)
{
	$bd="HistoStages";
	$query="SET CHARACTER SET utf8";
	// Modification du jeu de caractères de la connexion
	$res=mysql_query($query, $connexion);
	$ok=mysql_select_db($bd, $connexion);
	return $ok;
}

/**
 * La fonction filtreChaineBD échappe les caractères spéciaux ayant
 * une signification précise pour le serveur MySQL
 * @param string $value : chaîne de caractères à échapper
 * @return string : chaîne de caractères échappée
 */
function filtreChaineBD($value)
{
	// Stripslashes
	if (! get_magic_quotes_gpc()) {
		$value = addslashes($value);
	}

	return $value;
}

// FONCTIONS DE GESTION DES ORGANISATIONS
function obtenirNbOrganisations($connexion)
{
	$req = "select count(*) as nbOrga from organisation";
	$rs=mysql_query($req, $connexion);
	$lg = mysql_fetch_array($rs);
	return $lg['nbOrga'];
}

function obtenirReqOrganisations()
{
	//Modifier la requete SQL pour qu'elle ne compte que ce qu'il faut
	$req="select numero, nom, rue, cp, ville, count(id) as nbStages
	from organisation o left join stage s on o.numero = s.numeroOrganisation
	group by numero, nom, rue, cp, ville
	order by nom";
	//   echo '***' . $req . '***<br />';
	return $req;
}

function obtenirReqPeriode()
{
	$req="select *
	from periodestage
	order by dateDeb";
	return $req;
}

function obtenirReqEtudiant()
{
	$req="select *
	from etudiant
	order by asc";
	return $req;
}

function obtenirReqAnneesScolaires()
{
	$req="select distinct annee from stage where annee is not null order by annee desc";
	return $req;
}

function obtenirReqDepts()
{
	$req="select numero, nom from dept order by numero";
	return $req;
}

function obtenirDetailOrganisation($connexion, $num)
{
	$req="select * from organisation o left join categorie c on o.idCategorie=c.id where numero=" . $num . "";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}

function obtenirReqStages()
{
	$req = "select s.id as idStage, o.nom as nomOrga, e.nom as nomEtud, e.prenom as prenomEtud, concat( year( p.dateFin ) , '-', 'IG', p.numAnneeForm ) AS anneeStage
	from stage s inner join (organisation o inner join etudiant e inner join periodeStage p)
	on (s.numeroOrganisation=o.numero and s.numeroEtudiant=e.numero and idPeriodeStage = p.id) ";
	return $req;
}

function obtenirDetailOrgaStage($connexion, $id)
{
	$req="select o.*, c.libelle as libelleCategorie from stage s inner join organisation o on s.numeroOrganisation=o.numero
	left join categorie c on o.idCategorie=c.id where s.id=" . $id . "";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}

function obtenirDetailRespStage($connexion, $id)
{
	$req="select concat(c1.civilite, ' ', c1.prenom, ' ', c1.nom) as identite, fonction, tel, email
	from jouerRole j inner join contact c1 on j.idContact=c1.id
	where j.idStage=" . $id  . " and idRole=1";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}

function obtenirDetailMaitreStage($connexion, $id)
{
	$req="select concat(c2.civilite, ' ', c2.prenom, ' ', c2.nom) as identite, fonction, tel, email
	from jouerRole j inner join contact c2 on j.idContact=c2.id
	where j.idStage=" . $id . " and idRole=2";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}

function obtenirDetailEtudStage($connexion, $id)
{
	$req="select libelle, theme as motsCles, annee as anneeStage, nom as nomEtud, prenom as prenomEtud
	from stage s inner join etudiant e on s.numeroEtudiant=e.numero
	where s.id=" . $id . "";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}


//ajout d'une requete sql pour avoir tout les id des �l�ves
function obtenirIdStage($connexion, $id)
{
	$req="SELECT id FROM `stage` where id=" . $id . "";
	$rs=mysql_query($req, $connexion);
	return mysql_fetch_array($rs);
}

// obtenir dernier id pour la période
function obtenirNewIdPeriode($connexion) {
	$req="SELECT Max(id) FROM `periodestage`;";
	$rs=mysql_query($req, $connexion);
	$rows=mysql_fetch_array($rs);
	return $rows[0]+1;
}

// obtenir dernier numero pour l'etudiant
function obtenirNewIdEtudiant($connexion) {
	$req="SELECT Max(numero) FROM `etudiant`;";
	$rs=mysql_query($req, $connexion);
	$rows=mysql_fetch_array($rs);
	return $rows[0]+1;
}


/*
 * fonction vérifiant l'existence de l'id de l'organisation entré dans l'url par rapport à la base de données.
*
* return : boolean
*/
function connaitreExistenceOrg($connexion, $id)
{
	$req="select * from organisation where numero=".$id."";
	return mysql_num_rows(mysql_query($req, $connexion))!=0;
}


//ajout d'une requete sql pour obtenir les contacts d'une organisation
function obtenirReqContactsOrganisation($connexion, $numero)
{
	$req="SELECT  id, civilite, prenom, nom, email, tel, fonction FROM `contact` WHERE numeroOrganisation=".$numero."";
	//$req="SELECT  civilite, prenom, nom, email, tel, fonction, count(id) as nbContact FROM `contact` WHERE numeroOrganisation=".$numero."";
	return $req;
}

//ajout d'une requete sql pour obtenir un detail d'un contact d'une organisation 
function obtenirReqDetailContactOrganisation($connexion, $id, $numero)
{
	$req="SELECT  id, civilite, prenom, nom, email, tel, fonction FROM `contact` WHERE numeroOrganisation=".$numero." AND id=".$id."";
	return $req;
}

//Ajout d'un contact dans une organisation donnée
function AjoutContactOrganisation($connexion, $numeroOrganisation, $civilite, $prenom, $nom, $email, $tel, $fonction)
{
	$req="INSERT INTO `histostages`.`contact` (`id`, `numeroOrganisation`, `civilite`, `prenom`, `nom`, `email`, `tel`, `fonction`) 
	VALUES (NULL, '".$numeroOrganisation."', '".$civilite."', '".$prenom."', '".$nom."', '".$email."', '".$tel."', '".$fonction."')";
	
	//selectBase($connexion);
	
	mysql_query($req, $connexion); // or die('Erreur SQL !'.$sql.''.mysql_error()); 
	
	$idContact = mysql_insert_id();
	
	//printf("Last inserted record has id %d\n", mysql_insert_id());
	//return $req;
	return $idContact;	
}

/*function UpadateDonneesContactOrganisation ($connexion, $id, $numeroOrganisation, $civilite, $prenom, $nom, $email, $tel, $fonction)
{
  $req = "UPDATE `histostages`.`contact`
          SET    `numeroOrganisation`   = '".$numeroOrganisation."',
                 `civilite` = '".$civilite."',
                 `prenom` = '".$prenom."',
                 `nom` = '".$nom."',
                 `email` = '".$email."',
                 `tel` = '".$tel."',
                 `fonction` = '".$fonction."'
          WHERE `id` = '".$id."';"
          
          mysql_query($req, $connexion);
          
          $idContact = mysql_insert_id();
          
          return $idContact; 
}
*/

function DeleteInsertDonneesContactOrganisation ($connexion, $id, $numeroOrganisation, $civilite, $prenom, $nom, $email, $tel, $fonction)
{
  $req = "DELETE FROM `histostages`.`contact`
          WHERE `id` = '".$id."';";
          
  mysql_query($req, $connexion);
  
  $req="INSERT INTO `histostages`.`contact` (`id`, `numeroOrganisation`, `civilite`, `prenom`, `nom`, `email`, `tel`, `fonction`) 
	VALUES ('".$id."', '".$numeroOrganisation."', '".$civilite."', '".$prenom."', '".$nom."', '".$email."', '".$tel."', '".$fonction."')"; 
  
  mysql_query($req, $connexion);
          
  $idContact = mysql_insert_id();
          
  return $idContact; 
}
?>
